#include "stdafx.h"
#include "IntegerGen.h"
#include  "SIntegerType.h"

using namespace llvm;
IntegerGen::IntegerGen(int64_t v, int b) : value(v), bits(b) {
	type = SIntegerType::get(bits);
}

IntegerGen::IntegerGen(int v) : value(v), bits(32) {
	type = SIntegerType::get(32);
}

Value * IntegerGen::generateCode(Module * m, Function * func, IRBuilder<>&builder)
{
	auto &context = builder.getContext();
	auto type = IntegerType::get(context, bits);
	return ConstantInt::getSigned(type, value);
}
